import axios from 'axios';
import {BASEURL} from './config'

const instance = axios.create({
    baseURL: BASEURL,
    timeout: 10000,
    headers: {'X-Custom-Header': 'foobar'}
});

// 请求发送前的拦截器
instance.interceptors.request.use(function (config) {
    
    config.headers = {'token':'wegegr25rhtrh1t5jt8j221e1hq1shjk32m1e'} // 加载自定义的header，一般放置token
    return config;
  }, function (error) {
  
    return Promise.reject(error);
  });

// 收到响应后的拦截器
instance.interceptors.response.use(function (response) {
    console.log('response',response)
    return response;
}, function (error) {

return Promise.reject(error);
});

/**
 * 提供get方法
 * @param url 请求地址
 * @returns promise
 */
export const get = (url: string):Promise<string> => {
    return instance.get(url);
}


/**
 * 提供x-www-form-urlencoded表单格式
 * @param url 请求地址
 * @param data 请求参数，json格式
 * @returns promise
 */
export const postForm = (url: string,data: any) => {

    const searchParams = new URLSearchParams(data);
    return instance.post(url,searchParams);
}

/**
 * 提供 json请求格式
 * @param url 请求地址
 * @param data 请求参数，json格式
 * @returns promise
 */
export const postJSON = (url: string,data: object) => {
    return instance.post(url,data);
}